package com.hualude.roadsign.service;

import com.hualude.roadsign.dto.DTRequestDto;
import com.hualude.roadsign.dto.DTResponseDto;
import com.hualude.roadsign.dto.MonitorFaultDto;

import java.util.List;

/**
 * Created by pjn on 2017/8/5.
 */
public interface MonitorFaultService {
    /**
     * @Description: 获取监控箱datatable
     * @Author: pan-jianan
     * @Date: 2017/8/5 12:11
     */
    public DTResponseDto getMonitorReportFault4DT(DTRequestDto dtRequestDto, Integer actorId, Integer userId, Integer orgId) throws Exception;

    /**
     * @Description: 更新故障
     * @Author: pan-jianan
     * @Date: 2017/8/5 12:11
     */
    public Integer updateMonitorFault(Integer monitorFaultId, Integer monitorFaultLevel, Integer monitorFaultType, String monitorFaultPhoto, String monitorFaultReason, Double monitorMoney) throws Exception;

    /**
     * @Description: 删除监控箱故障
     * @Author: pan-jianan
     * @Date: 2017/8/5 12:11
     */
    public Integer deleteMonitorFaultByIds(String monitorFaultIds) throws Exception;

    /**
     * @Description: 获取监控箱坐标4地图上报
     * @Author: pan-jianan
     * @Date: 2017/7/22 22:01
     */
    public List<MonitorFaultDto> getMonitorCoordinate4Map(Integer orgId, Integer actorId) throws Exception;

    /**
     * @Description: 根据监控箱坐标获取信息
     * @Author: pan-jianan
     * @Date: 2017/7/22 16:16
     */
    public List<MonitorFaultDto> getMonitorEnergyByXY(String longitude, String latitude) throws Exception;

    /**
     * @Description: 上报
     * @Author: pan-jianan
     * @Date: 2017/8/5 17:06
     */
    public Integer reportMonitorFault(Integer monitorId, Integer monitorFaultCreatorId, Integer monitorFaultLevel, Integer monitorFaultType,
                                      String monitorFaultPhoto, String monitorFaultReason, Double monitorMoney, Integer monitorOrgId, Integer monitorMainOrgId) throws Exception;

    /**
     * @Description: 判断是否监控箱可上报：1可以，0不行
     * @Author: pan-jianan
     * @Date: 2017/8/5 17:06
     */
    public Integer getMonitorFaultIsReport(Integer monitorId) throws Exception;

    /**
     * @Description: 信号灯DT4故障上报
     * @Author: jiang-weirong
     * @Date: 2017/8/5 17:59
     */
    public DTResponseDto getMonitorFaultReport4DT(DTRequestDto dtRequestDto, Integer actorId, Integer orgId,String roadName, String startRoad, String endRoad) throws Exception;


}
